// Auteur : Simon-Pierre Boucher — contact@spboucher.ai // Sert la photo de profil d'un membre (JPEG carré 512 px) — hotlinkée par la // carte de membre, la page publique /m/{ka_id} et les plateformes du groupe. import { NextRequest, NextResponse } from "next/server"; import fs from "fs/promises"; import path from "path"; export async function GET( _req: NextRequest, { params }: { params: Promise<{ kaId: string }> }, ) { const { kaId } = await params; if (!/^ka-\d{10}$/.test(kaId)) return NextResponse.json({ error: "introuvable" }, { status: 404 }); try { const buf = await fs.readFile( path.join(process.cwd(), "data", "avatars", `${kaId}.jpg`), ); return new NextResponse(new Uint8Array(buf), { headers: { "Content-Type": "image/jpeg", "Cache-Control": "public, max-age=3600", }, }); } catch { return NextResponse.json({ error: "introuvable" }, { status: 404 }); } }